package com.canaan.business.service.basic.impl;

import java.util.List;

import com.canaan.business.domain.basic.WmsProductBomItem;
import com.canaan.business.mapper.basic.WmsProductBomItemMapper;
import com.canaan.business.service.basic.IWmsProductBomItemService;
import com.canaan.common.utils.DateUtils;
import com.canaan.common.utils.TableNoUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import static com.canaan.common.utils.SecurityUtils.getUsername;

/**
 * 物料BOM明细Service业务层处理
 *
 * @author ruoyi
 * @date 2023-01-28
 */
@Service
public class WmsProductBomItemServiceImpl implements IWmsProductBomItemService {
    @Autowired
    private WmsProductBomItemMapper wmsProductBomItemMapper;

    /**
     * 查询物料BOM明细
     *
     * @param id 物料BOM明细主键
     * @return 物料BOM明细
     */
    @Override
    public WmsProductBomItem selectWmsProductBomItemById(Long id) {
        return wmsProductBomItemMapper.selectWmsProductBomItemById(id);
    }

    /**
     * 查询物料BOM明细列表
     *
     * @param wmsProductBomItem 物料BOM明细
     * @return 物料BOM明细
     */
    @Override
    public List<WmsProductBomItem> selectWmsProductBomItemList(WmsProductBomItem wmsProductBomItem) {
        return wmsProductBomItemMapper.selectWmsProductBomItemList(wmsProductBomItem);
    }

    /**
     * 新增物料BOM明细
     *
     * @param wmsProductBomItem 物料BOM明细
     * @return 结果
     */
    @Override
    public int insertWmsProductBomItem(WmsProductBomItem wmsProductBomItem) {
        wmsProductBomItem.setCreateTime(DateUtils.getNowDate());
        wmsProductBomItem.setNo(TableNoUtil.getNo(WmsProductBomItem.class));
        wmsProductBomItem.setCreateBy(getUsername());
        return wmsProductBomItemMapper.insertWmsProductBomItem(wmsProductBomItem);
    }

    /**
     * 修改物料BOM明细
     *
     * @param wmsProductBomItem 物料BOM明细
     * @return 结果
     */
    @Override
    public int updateWmsProductBomItem(WmsProductBomItem wmsProductBomItem) {
        wmsProductBomItem.setUpdateTime(DateUtils.getNowDate());
        wmsProductBomItem.setUpdateBy(getUsername());
        return wmsProductBomItemMapper.updateWmsProductBomItem(wmsProductBomItem);
    }

    /**
     * 批量删除物料BOM明细
     *
     * @param ids 需要删除的物料BOM明细主键
     * @return 结果
     */
    @Override
    public int deleteWmsProductBomItemByIds(Long[] ids) {
        return wmsProductBomItemMapper.deleteWmsProductBomItemByIds(ids);
    }

    /**
     * 删除物料BOM明细信息
     *
     * @param id 物料BOM明细主键
     * @return 结果
     */
    @Override
    public int deleteWmsProductBomItemById(Long id) {
        return wmsProductBomItemMapper.deleteWmsProductBomItemById(id);
    }
}
